public class code4 {

//    top 101 链表的 奇偶 重排序
public ListNode oddEvenList (ListNode head) {
    // write code here
    if(head == null) {
        return head;
    }
    // 针对这个题目可以通过两个队列来分别存储 奇数项 和 偶数项
    // 先定义出两个指针，分别指向第一个和第二个元素
    ListNode first = head;
    ListNode p1 = first;
    ListNode second = head.next;
    ListNode p2 = second;
    while(first.next != null && second.next != null) {
        first.next = second.next;
        first = first.next;
        second.next = first.next;
        second = second.next;
    }
    // 将两组链表联系起来
    first.next = p2;
    return head;
}
}
